<?php
/**
 * Класс Controller_Ajax_User отвечает за обработку ajax-запросов пользователя
 * @author Mike
 */
class Controller_Ajax_User extends Controller_Ajax {
	
	public function actionSwitch() {
		switch ($this->arrRequest[2]) {
			case 'auth-in' : 
				$this->actionAuthIn();
				break;
			case 'avatar-upload' :
				$this->actionAvatarUpload();
				break;
			default:
				$this->setError(404);
				break;
		}
	}
	
	/**
	 * Вход пользователя
	 */
	private function actionAuthIn() {
		$eMail = isset($_POST['e_mail']) ? Service_Escape::absolutelyEscapeString($_POST['e_mail']) : '';
		$password = isset($_POST['password']) ? Service_Escape::absolutelyEscapeString($_POST['password']) : '';
		
		if (empty($eMail) || empty($password)) return $this->makeStandardError('Не получены данные');
		
		$hash = md5($eMail . $password . 'outsider');
		$objUser = new User_User();
		$result = $objUser->find('first',array('select' => '`user`.`ID_user`',
				'conditions' => "`user`.`password`='" . $hash . "'"));
		
		if(!empty($result)) {
			$this->arrReturn = array('result' => 'OK');
			User_Seance::authorizationIn($objUser);
		}
		else $this->makeStandardError('Нет такой почты или неверен пароль');
	}
	
	/**
	 * Добавление автара
	 */
	private function actionAvatarUpload() {
		$objUser = User_Seance::getUser();
		if($objUser->id) {
			$allowedExtensions = array('jpg','png');
			$sizeLimit = 5 * 1024 * 1024;
			$uploader = new Service_qqFileUploader($allowedExtensions, $sizeLimit);
			$uploadDirectory = IMAGES . '/essence/user/' . $objUser->id;	// Если менять, то так же поменять в qqFileUploader->saveUserAvatar
			
			
			$result = $uploader->handleUpload($uploadDirectory, true, 'user-ava', $objUser);
			$this->arrReturn = $result;
		}
	}
}
?>